home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / SYMBOL / Symbol Processors / Mix / symbol-remove < prev    next >
Lisp/Scheme  |  1998-10-23  |  875b  |  18 lines

  1. symbol-remove symbol-pattern1 symbol-pattern2
  2.  
  3. Finds symbols in symbol-pattern1 that are not in common with  those in symbol-pattern2 and returns a new list. This operation is valuable for producing extra instrumental parts whilst avoiding too many simulataneous notes sounding at the same time.
  4.  
  5. If symbol-pattern1 is shorter than symbol-pattern2, then no symbols from symbol-pattern2 are changed from this point on. When working with two drum patterns, you may remove one pattern from other.
  6.  
  7. (symbol-remove '(a c e) '(ab cd ef))
  8. --> (b d f)
  9.  
  10. (symbol-remove
  11.     '(a b c (-1 a) (+3 g 3 y))
  12.     '(abc bcd abe g (-1 a +3 g y) (a b)))
  13. --> (bc cd abe g (-1 a y) (a b))
  14.  
  15. If you use fill-rest with symbol-remove you can create a new instrumental part that plays only when the other two instruments play simultaneously.
  16.  
  17. (setq perc (fill-rest (symbol-remove mel1 mel2) '(t u ts)))
  18.